<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.5"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SWM34S_LVGL7.11_SWMUI: C:/Users/DELL/Desktop/Commit/lvgl/SWM34S_LVGL7.11_SWMUI_20230515/APP/Software_Parser/avi_parser.c 源文件</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">SWM34S_LVGL7.11_SWMUI<span id="projectnumber">&#160;V7.9</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.5 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_0ca16891106f5a3e9ad635a0d6c5f98f.html">APP</a></li><li class="navelem"><a class="el" href="dir_1f0f7ecfcd3eb0933dd9ad093070e0ed.html">Software_Parser</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle"><div class="title">avi_parser.c</div></div>
</div><!--header-->
<div class="contents">
<a href="avi__parser_8c.html">浏览该文件的文档.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &quot;<a class="code" href="avi__parser_8h.html">avi_parser.h</a>&quot;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="comment">//#define AVI_DEBUG_ENABLE   /**&lt; 模块调试日志输出使能宏*/</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#ifdef AVI_DEBUG_ENABLE</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">    #define AVI_LOG(...)        printf(__VA_ARGS__)</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">   30</a></span><span class="preprocessor">    #define AVI_LOG(...)</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">   34</a></span><a class="code hl_struct" href="struct_a_v_i___i_n_f_o.html">AVI_INFO</a> <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="avi__parser_8c.html#a00b2d5dcb27047f86366608120529e4f">   36</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="avi__parser_8c.html#a00b2d5dcb27047f86366608120529e4f">AVI_VIDS_FLAG_TBL</a>[2] = {<span class="stringliteral">&quot;00dc&quot;</span>, <span class="stringliteral">&quot;01dc&quot;</span>}; </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="avi__parser_8c.html#abb25e223e273b349db83310a5d47f80d">   37</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="avi__parser_8c.html#abb25e223e273b349db83310a5d47f80d">AVI_AUDS_FLAG_TBL</a>[2] = {<span class="stringliteral">&quot;00wb&quot;</span>, <span class="stringliteral">&quot;01wb&quot;</span>}; </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="avi__parser_8c.html#a56b444192eb7b54acf7dcac7829e4f45">   48</a></span>uint16_t <a class="code hl_function" href="avi__parser_8c.html#a56b444192eb7b54acf7dcac7829e4f45">avi_srarch_id</a>(uint8_t *buf, uint16_t size, <span class="keywordtype">char</span> *<span class="keywordtype">id</span>)</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>{</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>    uint16_t i;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span>    size -= 4;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>    <span class="keywordflow">for</span> (i = 0; i &lt; size; i++)</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>    {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>        <span class="keywordflow">if</span> (buf[i] == <span class="keywordtype">id</span>[0])</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span>            <span class="keywordflow">if</span> (buf[i + 1] == <span class="keywordtype">id</span>[1])</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>                <span class="keywordflow">if</span> (buf[i + 2] == <span class="keywordtype">id</span>[2])</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>                    <span class="keywordflow">if</span> (buf[i + 3] == <span class="keywordtype">id</span>[3])</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>                        <span class="keywordflow">return</span> i; <span class="comment">/* 找到&quot;id&quot;所在的位置 */</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>    }</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span>    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>}</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="avi__parser_8c.html#a73b7c644cef0ac1324602e57006ba23c">   69</a></span><a class="code hl_enumeration" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7">AVISTATUS</a> <a class="code hl_function" href="avi__parser_8c.html#a73b7c644cef0ac1324602e57006ba23c">avi_get_streaminfo</a>(uint8_t *buf)</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>{</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>    <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#aebe839b9a64cd04e96f275be975f3661">StreamID</a> = <a class="code hl_define" href="avi__parser_8h.html#a1de50923fe6815ec8322a8e80901ebd4">MAKEWORD</a>(buf + 2);    <span class="comment">/* 得到流类型 */</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>    <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#ae9f33841c7538c99150077f9c04d7070">StreamSize</a> = <a class="code hl_define" href="avi__parser_8h.html#a52053b0e37e000392ca2f11dc2b999ab">MAKEDWORD</a>(buf + 4); <span class="comment">/* 得到流大小 */</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span>    <span class="keywordflow">if</span> (<a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#ae9f33841c7538c99150077f9c04d7070">StreamSize</a> % 2)</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#ae9f33841c7538c99150077f9c04d7070">StreamSize</a>++; <span class="comment">/* 奇数加1(Avix.StreamSize,必须是偶数) */</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span>    <span class="keywordflow">if</span> (<a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#aebe839b9a64cd04e96f275be975f3661">StreamID</a> == <a class="code hl_define" href="avi__parser_8h.html#a3ece9e152e3d837778a54203fb7477da">AVI_VIDS_FLAG</a> || <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#aebe839b9a64cd04e96f275be975f3661">StreamID</a> == <a class="code hl_define" href="avi__parser_8h.html#a22a862f67b94bbd8914549bba40d291f">AVI_AUDS_FLAG</a>)</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>        <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a55b5c2e0d0717e8a2ee2d4d83c04d74e">AVI_OK</a>;</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span>    <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7abd8fea3fd943c00964f90b652d4a5bd8">AVI_STREAM_ERR</a>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span>}</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="avi__parser_8c.html#ab72d5be5e6149cfe3dc314d99f5b11c2">   87</a></span><a class="code hl_enumeration" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7">AVISTATUS</a> <a class="code hl_function" href="avi__parser_8c.html#ab72d5be5e6149cfe3dc314d99f5b11c2">avi_init</a>(uint8_t *buf, uint16_t size)</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>{</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>    uint16_t offset;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span>    uint8_t *tbuf;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>    <a class="code hl_enumeration" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7">AVISTATUS</a> res = <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a55b5c2e0d0717e8a2ee2d4d83c04d74e">AVI_OK</a>;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span>    <a class="code hl_struct" href="struct_a_v_i___h_e_a_d_e_r.html">AVI_HEADER</a> *aviheader;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span>    <a class="code hl_struct" href="struct_l_i_s_t___h_e_a_d_e_r.html">LIST_HEADER</a> *listheader;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>    <a class="code hl_struct" href="struct_a_v_i_h___h_e_a_d_e_r.html">AVIH_HEADER</a> *avihheader;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span>    <a class="code hl_struct" href="struct_s_t_r_h___h_e_a_d_e_r.html">STRH_HEADER</a> *strhheader;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span>    <a class="code hl_struct" href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html">STRF_BMPHEADER</a> *bmpheader;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span>    <a class="code hl_struct" href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html">STRF_WAVHEADER</a> *wavheader;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span> </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>    tbuf = buf;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span>    aviheader = (<a class="code hl_struct" href="struct_a_v_i___h_e_a_d_e_r.html">AVI_HEADER</a> *)buf;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span>    <span class="keywordflow">if</span> (aviheader-&gt;<a class="code hl_variable" href="struct_a_v_i___h_e_a_d_e_r.html#a0652c50e805596466f1e36f9ef24c960">RiffID</a> != <a class="code hl_define" href="avi__parser_8h.html#a03377237c4d57c9cb82cc54ac49c97ce">AVI_RIFF_ID</a>)</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>        <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7ab98ace18bf39ea529638552820d5f0a3">AVI_RIFF_ERR</a>; <span class="comment">//RIFF ID错误</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>    <span class="keywordflow">if</span> (aviheader-&gt;<a class="code hl_variable" href="struct_a_v_i___h_e_a_d_e_r.html#ac92964a8773c7646c9b78b799b02bb40">AviID</a> != <a class="code hl_define" href="avi__parser_8h.html#ac8d57ae2af949561024c6fe11ca78652">AVI_AVI_ID</a>)</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>        <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7aef72920fc5a46998843b2bb6db98a950">AVI_AVI_ERR</a>; <span class="comment">//AVI ID错误</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>    buf += <span class="keyword">sizeof</span>(<a class="code hl_struct" href="struct_a_v_i___h_e_a_d_e_r.html">AVI_HEADER</a>); <span class="comment">//偏移</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>    listheader = (<a class="code hl_struct" href="struct_l_i_s_t___h_e_a_d_e_r.html">LIST_HEADER</a> *)(buf);</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>    <span class="keywordflow">if</span> (listheader-&gt;<a class="code hl_variable" href="struct_l_i_s_t___h_e_a_d_e_r.html#aa83585d48dd4177425dd696489928781">ListID</a> != <a class="code hl_define" href="avi__parser_8h.html#a9bebb2641290744fd9727680c8deb982">AVI_LIST_ID</a>)</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>        <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a8cb95e4c0f7849c99391a3265366d380">AVI_LIST_ERR</a>; <span class="comment">//LIST ID错误</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>    <span class="keywordflow">if</span> (listheader-&gt;<a class="code hl_variable" href="struct_l_i_s_t___h_e_a_d_e_r.html#ac7136be487ab4400b532b831a2784354">ListType</a> != <a class="code hl_define" href="avi__parser_8h.html#aca2863190319f6384479f9d11c785e6f">AVI_HDRL_ID</a>)</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>        <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a7f65ba87da71533d3ba92c01e614a68d">AVI_HDRL_ERR</a>; <span class="comment">//HDRL ID错误</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>    buf += <span class="keyword">sizeof</span>(<a class="code hl_struct" href="struct_l_i_s_t___h_e_a_d_e_r.html">LIST_HEADER</a>); <span class="comment">//偏移</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>    avihheader = (<a class="code hl_struct" href="struct_a_v_i_h___h_e_a_d_e_r.html">AVIH_HEADER</a> *)(buf);</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>    <span class="keywordflow">if</span> (avihheader-&gt;<a class="code hl_variable" href="struct_a_v_i_h___h_e_a_d_e_r.html#a1240479dc9b05a8691eb36d81ef35a4e">BlockID</a> != <a class="code hl_define" href="avi__parser_8h.html#a621ef391c6f5335f7aeb983ee25c5978">AVI_AVIH_ID</a>)</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>        <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a58c9bc48cd88d65ef12e52999894282a">AVI_AVIH_ERR</a>; <span class="comment">//AVIH ID错误</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>    <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a780dbba77a0f21fe07b1facf6aba3dd3">SecPerFrame</a> = avihheader-&gt;<a class="code hl_variable" href="struct_a_v_i_h___h_e_a_d_e_r.html#a780dbba77a0f21fe07b1facf6aba3dd3">SecPerFrame</a>; <span class="comment">//得到帧间隔时间</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>    <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a0e6885847acfb5c3a504bb0b4cadafd3">TotalFrame</a> = avihheader-&gt;<a class="code hl_variable" href="struct_a_v_i_h___h_e_a_d_e_r.html#a0e6885847acfb5c3a504bb0b4cadafd3">TotalFrame</a>;   <span class="comment">//得到总帧数</span></div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>    buf += avihheader-&gt;<a class="code hl_variable" href="struct_a_v_i_h___h_e_a_d_e_r.html#ab733a42cbc069f09f55bfa7bdc166755">BlockSize</a> + 8;           <span class="comment">//偏移</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>    listheader = (<a class="code hl_struct" href="struct_l_i_s_t___h_e_a_d_e_r.html">LIST_HEADER</a> *)(buf);</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span>    <span class="keywordflow">if</span> (listheader-&gt;<a class="code hl_variable" href="struct_l_i_s_t___h_e_a_d_e_r.html#aa83585d48dd4177425dd696489928781">ListID</a> != <a class="code hl_define" href="avi__parser_8h.html#a9bebb2641290744fd9727680c8deb982">AVI_LIST_ID</a>)</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span>        <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a8cb95e4c0f7849c99391a3265366d380">AVI_LIST_ERR</a>; <span class="comment">//LIST ID错误</span></div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span> </div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span>    <span class="keywordflow">if</span> (listheader-&gt;<a class="code hl_variable" href="struct_l_i_s_t___h_e_a_d_e_r.html#ac7136be487ab4400b532b831a2784354">ListType</a> != <a class="code hl_define" href="avi__parser_8h.html#aeb199d3056da792070cefc8f90960ef7">AVI_STRL_ID</a>)</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span>        <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7aa32440838bbb44cabe1cb7929465deb9">AVI_STRL_ERR</a>; <span class="comment">//STRL ID错误</span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno">  130</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>    strhheader = (<a class="code hl_struct" href="struct_s_t_r_h___h_e_a_d_e_r.html">STRH_HEADER</a> *)(buf + 12);</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>    <span class="keywordflow">if</span> (strhheader-&gt;<a class="code hl_variable" href="struct_s_t_r_h___h_e_a_d_e_r.html#a1240479dc9b05a8691eb36d81ef35a4e">BlockID</a> != <a class="code hl_define" href="avi__parser_8h.html#ab996663de5ac6f1ce4148805a5574535">AVI_STRH_ID</a>)</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>        <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a9902b5dbcd08b2e5e1d5f2b28e7bcc78">AVI_STRH_ERR</a>; <span class="comment">//STRH ID错误</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span> </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>    <span class="keywordflow">if</span> (strhheader-&gt;<a class="code hl_variable" href="struct_s_t_r_h___h_e_a_d_e_r.html#afc9042f7f6ed151075edacec2979c47d">StreamType</a> == <a class="code hl_define" href="avi__parser_8h.html#acac014172ff77494de8996743f4f10a2">AVI_VIDS_STREAM</a>) <span class="comment">//视频帧在前</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>    {</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>        <span class="keywordflow">if</span> (strhheader-&gt;<a class="code hl_variable" href="struct_s_t_r_h___h_e_a_d_e_r.html#a9bef5b1d758fa5082548fb2a13880bcd">Handler</a> != <a class="code hl_define" href="avi__parser_8h.html#a43a444b7146af139af25d342748bdd51">AVI_FORMAT_MJPG</a>)</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>            <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a49344f7be05e2cc0a057dedc973db30e">AVI_FORMAT_ERR</a>; <span class="comment">//非MJPG视频流,不支持</span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span> </div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#accb228e257848ce45178ee201dc5a380">VideoFLAG</a> = (<span class="keywordtype">char</span> *)<a class="code hl_variable" href="avi__parser_8c.html#a00b2d5dcb27047f86366608120529e4f">AVI_VIDS_FLAG_TBL</a>[0];                        <span class="comment">//视频流标记  &quot;00dc&quot;</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a36fdfaa783fd17a3625eef91a8e35558">AudioFLAG</a> = (<span class="keywordtype">char</span> *)<a class="code hl_variable" href="avi__parser_8c.html#abb25e223e273b349db83310a5d47f80d">AVI_AUDS_FLAG_TBL</a>[1];                        <span class="comment">//音频流标记  &quot;01wb&quot;</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>        bmpheader = (<a class="code hl_struct" href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html">STRF_BMPHEADER</a> *)(buf + 12 + strhheader-&gt;<a class="code hl_variable" href="struct_s_t_r_h___h_e_a_d_e_r.html#ab733a42cbc069f09f55bfa7bdc166755">BlockSize</a> + 8); <span class="comment">//strf</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>        <span class="keywordflow">if</span> (bmpheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html#a1240479dc9b05a8691eb36d81ef35a4e">BlockID</a> != <a class="code hl_define" href="avi__parser_8h.html#afb9f262e20bc4f8acce7e9b1dc156a0d">AVI_STRF_ID</a>)</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>            <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7af3ad92c668bf1f78d6e19c0bc1fc1a41">AVI_STRF_ERR</a>; <span class="comment">//STRF ID错误</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span> </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#ad672690f555bb08866a491753109e551">Width</a> = bmpheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html#a21ca218fc09b3dab8feb982e12b17f18">bmiHeader</a>.<a class="code hl_variable" href="struct_b_m_p___h_e_a_d_e_r.html#a20c0d8eeeb1a2c61f0986a1c627c769a">Width</a>;</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a3bdc883455d9732f65c9d4cb1aebe28b">Height</a> = bmpheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html#a21ca218fc09b3dab8feb982e12b17f18">bmiHeader</a>.<a class="code hl_variable" href="struct_b_m_p___h_e_a_d_e_r.html#ae419f6e85ca63aca1b00db3e46953e83">Height</a>;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>        buf += listheader-&gt;<a class="code hl_variable" href="struct_l_i_s_t___h_e_a_d_e_r.html#ab733a42cbc069f09f55bfa7bdc166755">BlockSize</a> + 8; <span class="comment">//偏移</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>        listheader = (<a class="code hl_struct" href="struct_l_i_s_t___h_e_a_d_e_r.html">LIST_HEADER</a> *)(buf);</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>        <span class="keywordflow">if</span> (listheader-&gt;<a class="code hl_variable" href="struct_l_i_s_t___h_e_a_d_e_r.html#aa83585d48dd4177425dd696489928781">ListID</a> != <a class="code hl_define" href="avi__parser_8h.html#a9bebb2641290744fd9727680c8deb982">AVI_LIST_ID</a>) <span class="comment">//是不含有音频帧的视频文件</span></div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span>        {</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span>            <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a930ec675cfdc1a0f18f3414583f7b950">SampleRate</a> = 0; <span class="comment">//音频采样率</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span>            <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a7d5b4376ce52d2b78237faed43bc46cd">Channels</a> = 0;   <span class="comment">//音频通道数</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>            <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a0250988b2bc4338b03052d3915a24117">AudioType</a> = 0;  <span class="comment">//音频格式</span></div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span>        }</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>        <span class="keywordflow">else</span></div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span>        {</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span>            <span class="keywordflow">if</span> (listheader-&gt;<a class="code hl_variable" href="struct_l_i_s_t___h_e_a_d_e_r.html#ac7136be487ab4400b532b831a2784354">ListType</a> != <a class="code hl_define" href="avi__parser_8h.html#aeb199d3056da792070cefc8f90960ef7">AVI_STRL_ID</a>)</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span>                <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7aa32440838bbb44cabe1cb7929465deb9">AVI_STRL_ERR</a>; <span class="comment">//STRL ID错误</span></div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span> </div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>            strhheader = (<a class="code hl_struct" href="struct_s_t_r_h___h_e_a_d_e_r.html">STRH_HEADER</a> *)(buf + 12);</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>            <span class="keywordflow">if</span> (strhheader-&gt;<a class="code hl_variable" href="struct_s_t_r_h___h_e_a_d_e_r.html#a1240479dc9b05a8691eb36d81ef35a4e">BlockID</a> != <a class="code hl_define" href="avi__parser_8h.html#ab996663de5ac6f1ce4148805a5574535">AVI_STRH_ID</a>)</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>                <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a9902b5dbcd08b2e5e1d5f2b28e7bcc78">AVI_STRH_ERR</a>; <span class="comment">//STRH ID错误</span></div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span> </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>            <span class="keywordflow">if</span> (strhheader-&gt;<a class="code hl_variable" href="struct_s_t_r_h___h_e_a_d_e_r.html#afc9042f7f6ed151075edacec2979c47d">StreamType</a> != <a class="code hl_define" href="avi__parser_8h.html#a707749dc990c3b7b7bdb691d630fea3d">AVI_AUDS_STREAM</a>)</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>                <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a49344f7be05e2cc0a057dedc973db30e">AVI_FORMAT_ERR</a>; <span class="comment">//格式错误</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span> </div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>            wavheader = (<a class="code hl_struct" href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html">STRF_WAVHEADER</a> *)(buf + 12 + strhheader-&gt;<a class="code hl_variable" href="struct_s_t_r_h___h_e_a_d_e_r.html#ab733a42cbc069f09f55bfa7bdc166755">BlockSize</a> + 8); <span class="comment">//strf</span></div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>            <span class="keywordflow">if</span> (wavheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html#a1240479dc9b05a8691eb36d81ef35a4e">BlockID</a> != <a class="code hl_define" href="avi__parser_8h.html#afb9f262e20bc4f8acce7e9b1dc156a0d">AVI_STRF_ID</a>)</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>                <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7af3ad92c668bf1f78d6e19c0bc1fc1a41">AVI_STRF_ERR</a>; <span class="comment">//STRF ID错误</span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span> </div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>            <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a930ec675cfdc1a0f18f3414583f7b950">SampleRate</a> = wavheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html#a930ec675cfdc1a0f18f3414583f7b950">SampleRate</a>; <span class="comment">//音频采样率</span></div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span>            <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a7d5b4376ce52d2b78237faed43bc46cd">Channels</a> = wavheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html#a7d5b4376ce52d2b78237faed43bc46cd">Channels</a>;     <span class="comment">//音频通道数</span></div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span>            <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a0250988b2bc4338b03052d3915a24117">AudioType</a> = wavheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html#a93061b5a945d27bd1756008e813db76a">FormatTag</a>;   <span class="comment">//音频格式</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>        }</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>    }</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strhheader-&gt;<a class="code hl_variable" href="struct_s_t_r_h___h_e_a_d_e_r.html#afc9042f7f6ed151075edacec2979c47d">StreamType</a> == <a class="code hl_define" href="avi__parser_8h.html#a707749dc990c3b7b7bdb691d630fea3d">AVI_AUDS_STREAM</a>) <span class="comment">//音频帧在前</span></div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span>    {</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#accb228e257848ce45178ee201dc5a380">VideoFLAG</a> = (<span class="keywordtype">char</span> *)<a class="code hl_variable" href="avi__parser_8c.html#a00b2d5dcb27047f86366608120529e4f">AVI_VIDS_FLAG_TBL</a>[1];                        <span class="comment">//视频流标记  &quot;01dc&quot;</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a36fdfaa783fd17a3625eef91a8e35558">AudioFLAG</a> = (<span class="keywordtype">char</span> *)<a class="code hl_variable" href="avi__parser_8c.html#abb25e223e273b349db83310a5d47f80d">AVI_AUDS_FLAG_TBL</a>[0];                        <span class="comment">//音频流标记  &quot;00wb&quot;</span></div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>        wavheader = (<a class="code hl_struct" href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html">STRF_WAVHEADER</a> *)(buf + 12 + strhheader-&gt;<a class="code hl_variable" href="struct_s_t_r_h___h_e_a_d_e_r.html#ab733a42cbc069f09f55bfa7bdc166755">BlockSize</a> + 8); <span class="comment">//strf</span></div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>        <span class="keywordflow">if</span> (wavheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html#a1240479dc9b05a8691eb36d81ef35a4e">BlockID</a> != <a class="code hl_define" href="avi__parser_8h.html#afb9f262e20bc4f8acce7e9b1dc156a0d">AVI_STRF_ID</a>)</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span>            <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7af3ad92c668bf1f78d6e19c0bc1fc1a41">AVI_STRF_ERR</a>; <span class="comment">//STRF ID错误</span></div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span> </div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a930ec675cfdc1a0f18f3414583f7b950">SampleRate</a> = wavheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html#a930ec675cfdc1a0f18f3414583f7b950">SampleRate</a>; <span class="comment">//音频采样率</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a7d5b4376ce52d2b78237faed43bc46cd">Channels</a> = wavheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html#a7d5b4376ce52d2b78237faed43bc46cd">Channels</a>;     <span class="comment">//音频通道数</span></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a0250988b2bc4338b03052d3915a24117">AudioType</a> = wavheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html#a93061b5a945d27bd1756008e813db76a">FormatTag</a>;   <span class="comment">//音频格式</span></div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>        buf += listheader-&gt;<a class="code hl_variable" href="struct_l_i_s_t___h_e_a_d_e_r.html#ab733a42cbc069f09f55bfa7bdc166755">BlockSize</a> + 8;        <span class="comment">//偏移</span></div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span>        listheader = (<a class="code hl_struct" href="struct_l_i_s_t___h_e_a_d_e_r.html">LIST_HEADER</a> *)(buf);</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span>        <span class="keywordflow">if</span> (listheader-&gt;<a class="code hl_variable" href="struct_l_i_s_t___h_e_a_d_e_r.html#aa83585d48dd4177425dd696489928781">ListID</a> != <a class="code hl_define" href="avi__parser_8h.html#a9bebb2641290744fd9727680c8deb982">AVI_LIST_ID</a>)</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span>            <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a8cb95e4c0f7849c99391a3265366d380">AVI_LIST_ERR</a>; <span class="comment">//LIST ID错误</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span> </div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span>        <span class="keywordflow">if</span> (listheader-&gt;<a class="code hl_variable" href="struct_l_i_s_t___h_e_a_d_e_r.html#ac7136be487ab4400b532b831a2784354">ListType</a> != <a class="code hl_define" href="avi__parser_8h.html#aeb199d3056da792070cefc8f90960ef7">AVI_STRL_ID</a>)</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span>            <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7aa32440838bbb44cabe1cb7929465deb9">AVI_STRL_ERR</a>; <span class="comment">//STRL ID错误</span></div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span> </div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span>        strhheader = (<a class="code hl_struct" href="struct_s_t_r_h___h_e_a_d_e_r.html">STRH_HEADER</a> *)(buf + 12);</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span>        <span class="keywordflow">if</span> (strhheader-&gt;<a class="code hl_variable" href="struct_s_t_r_h___h_e_a_d_e_r.html#a1240479dc9b05a8691eb36d81ef35a4e">BlockID</a> != <a class="code hl_define" href="avi__parser_8h.html#ab996663de5ac6f1ce4148805a5574535">AVI_STRH_ID</a>)</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span>            <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a9902b5dbcd08b2e5e1d5f2b28e7bcc78">AVI_STRH_ERR</a>; <span class="comment">//STRH ID错误</span></div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span> </div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>        <span class="keywordflow">if</span> (strhheader-&gt;<a class="code hl_variable" href="struct_s_t_r_h___h_e_a_d_e_r.html#afc9042f7f6ed151075edacec2979c47d">StreamType</a> != <a class="code hl_define" href="avi__parser_8h.html#acac014172ff77494de8996743f4f10a2">AVI_VIDS_STREAM</a>)</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>            <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a49344f7be05e2cc0a057dedc973db30e">AVI_FORMAT_ERR</a>; <span class="comment">//格式错误</span></div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>        bmpheader = (<a class="code hl_struct" href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html">STRF_BMPHEADER</a> *)(buf + 12 + strhheader-&gt;<a class="code hl_variable" href="struct_s_t_r_h___h_e_a_d_e_r.html#ab733a42cbc069f09f55bfa7bdc166755">BlockSize</a> + 8); <span class="comment">//strf</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>        <span class="keywordflow">if</span> (bmpheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html#a1240479dc9b05a8691eb36d81ef35a4e">BlockID</a> != <a class="code hl_define" href="avi__parser_8h.html#afb9f262e20bc4f8acce7e9b1dc156a0d">AVI_STRF_ID</a>)</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span>            <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7af3ad92c668bf1f78d6e19c0bc1fc1a41">AVI_STRF_ERR</a>; <span class="comment">//STRF ID错误</span></div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span> </div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span>        <span class="keywordflow">if</span> (bmpheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html#a21ca218fc09b3dab8feb982e12b17f18">bmiHeader</a>.<a class="code hl_variable" href="struct_b_m_p___h_e_a_d_e_r.html#ad2cadc2fd0a4d69238fd32b34106373a">Compression</a> != <a class="code hl_define" href="avi__parser_8h.html#a43a444b7146af139af25d342748bdd51">AVI_FORMAT_MJPG</a>)</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span>            <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a49344f7be05e2cc0a057dedc973db30e">AVI_FORMAT_ERR</a>; <span class="comment">//格式错误</span></div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span> </div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#ad672690f555bb08866a491753109e551">Width</a> = bmpheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html#a21ca218fc09b3dab8feb982e12b17f18">bmiHeader</a>.<a class="code hl_variable" href="struct_b_m_p___h_e_a_d_e_r.html#a20c0d8eeeb1a2c61f0986a1c627c769a">Width</a>;</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a3bdc883455d9732f65c9d4cb1aebe28b">Height</a> = bmpheader-&gt;<a class="code hl_variable" href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html#a21ca218fc09b3dab8feb982e12b17f18">bmiHeader</a>.<a class="code hl_variable" href="struct_b_m_p___h_e_a_d_e_r.html#ae419f6e85ca63aca1b00db3e46953e83">Height</a>;</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span>    }</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span>    offset = <a class="code hl_function" href="avi__parser_8c.html#a56b444192eb7b54acf7dcac7829e4f45">avi_srarch_id</a>(tbuf, size, <span class="stringliteral">&quot;movi&quot;</span>); <span class="comment">//查找movi ID</span></div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span>    <span class="keywordflow">if</span> (offset == 0)</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span>        <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7ae7361a4b52200de3bc19d0e9a6e7e813">AVI_MOVI_ERR</a>; <span class="comment">//MOVI ID错误</span></div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span> </div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span>    <span class="keywordflow">if</span> (<a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a930ec675cfdc1a0f18f3414583f7b950">SampleRate</a>) <span class="comment">//有音频流,才查找</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span>    {</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span>        tbuf += offset;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>        offset = <a class="code hl_function" href="avi__parser_8c.html#a56b444192eb7b54acf7dcac7829e4f45">avi_srarch_id</a>(tbuf, size, <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a36fdfaa783fd17a3625eef91a8e35558">AudioFLAG</a>); <span class="comment">//查找音频流标记</span></div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span>        <span class="keywordflow">if</span> (offset == 0)</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span>            <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7abd8fea3fd943c00964f90b652d4a5bd8">AVI_STREAM_ERR</a>; <span class="comment">//流错误</span></div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span> </div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>        tbuf += offset + 4;</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>        <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#ae256ff66a407ed8f0a929b4159c91871">AudioBufSize</a> = *((uint16_t *)tbuf); <span class="comment">//得到音频流buf大小.</span></div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>    }</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>    <a class="code hl_define" href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">AVI_LOG</a>(<span class="stringliteral">&quot;avi init ok\r\n&quot;</span>);</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span>    <a class="code hl_define" href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">AVI_LOG</a>(<span class="stringliteral">&quot;Avix.SecPerFrame:%d\r\n&quot;</span>, <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a780dbba77a0f21fe07b1facf6aba3dd3">SecPerFrame</a>);</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>    <a class="code hl_define" href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">AVI_LOG</a>(<span class="stringliteral">&quot;Avix.TotalFrame:%d\r\n&quot;</span>, <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a0e6885847acfb5c3a504bb0b4cadafd3">TotalFrame</a>);</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>    <a class="code hl_define" href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">AVI_LOG</a>(<span class="stringliteral">&quot;Avix.Width:%d\r\n&quot;</span>, <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#ad672690f555bb08866a491753109e551">Width</a>);</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span>    <a class="code hl_define" href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">AVI_LOG</a>(<span class="stringliteral">&quot;Avix.Height:%d\r\n&quot;</span>, <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a3bdc883455d9732f65c9d4cb1aebe28b">Height</a>);</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span>    <a class="code hl_define" href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">AVI_LOG</a>(<span class="stringliteral">&quot;Avix.AudioType:%d\r\n&quot;</span>, <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a0250988b2bc4338b03052d3915a24117">AudioType</a>);</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span>    <a class="code hl_define" href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">AVI_LOG</a>(<span class="stringliteral">&quot;Avix.SampleRate:%d\r\n&quot;</span>, <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a930ec675cfdc1a0f18f3414583f7b950">SampleRate</a>);</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>    <a class="code hl_define" href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">AVI_LOG</a>(<span class="stringliteral">&quot;Avix.Channels:%d\r\n&quot;</span>, <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a7d5b4376ce52d2b78237faed43bc46cd">Channels</a>);</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span>    <a class="code hl_define" href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">AVI_LOG</a>(<span class="stringliteral">&quot;Avix.AudioBufSize:%d\r\n&quot;</span>, <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#ae256ff66a407ed8f0a929b4159c91871">AudioBufSize</a>);</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>    <a class="code hl_define" href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">AVI_LOG</a>(<span class="stringliteral">&quot;Avix.VideoFLAG:%s\r\n&quot;</span>, <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#accb228e257848ce45178ee201dc5a380">VideoFLAG</a>);</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>    <a class="code hl_define" href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">AVI_LOG</a>(<span class="stringliteral">&quot;Avix.AudioFLAG:%s\r\n&quot;</span>, <a class="code hl_variable" href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a>.<a class="code hl_variable" href="struct_a_v_i___i_n_f_o.html#a36fdfaa783fd17a3625eef91a8e35558">AudioFLAG</a>);</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>    <span class="keywordflow">return</span> res;</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span>}</div>
<div class="ttc" id="aavi__parser_8c_html_a00b2d5dcb27047f86366608120529e4f"><div class="ttname"><a href="avi__parser_8c.html#a00b2d5dcb27047f86366608120529e4f">AVI_VIDS_FLAG_TBL</a></div><div class="ttdeci">static const char *const AVI_VIDS_FLAG_TBL[2]</div><div class="ttdoc">视频编码标志字符串,00dc/01dc</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8c_source.html#l00036">avi_parser.c:36</a></div></div>
<div class="ttc" id="aavi__parser_8c_html_a402c09187359bda4929fb427833c603d"><div class="ttname"><a href="avi__parser_8c.html#a402c09187359bda4929fb427833c603d">AVI_LOG</a></div><div class="ttdeci">#define AVI_LOG(...)</div><div class="ttdoc">模块调试日志打印宏</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8c_source.html#l00030">avi_parser.c:30</a></div></div>
<div class="ttc" id="aavi__parser_8c_html_a56b444192eb7b54acf7dcac7829e4f45"><div class="ttname"><a href="avi__parser_8c.html#a56b444192eb7b54acf7dcac7829e4f45">avi_srarch_id</a></div><div class="ttdeci">uint16_t avi_srarch_id(uint8_t *buf, uint16_t size, char *id)</div><div class="ttdoc">查找 movi ID</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8c_source.html#l00048">avi_parser.c:48</a></div></div>
<div class="ttc" id="aavi__parser_8c_html_a73b7c644cef0ac1324602e57006ba23c"><div class="ttname"><a href="avi__parser_8c.html#a73b7c644cef0ac1324602e57006ba23c">avi_get_streaminfo</a></div><div class="ttdeci">AVISTATUS avi_get_streaminfo(uint8_t *buf)</div><div class="ttdoc">获取 stream 流信息</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8c_source.html#l00069">avi_parser.c:69</a></div></div>
<div class="ttc" id="aavi__parser_8c_html_ab72d5be5e6149cfe3dc314d99f5b11c2"><div class="ttname"><a href="avi__parser_8c.html#ab72d5be5e6149cfe3dc314d99f5b11c2">avi_init</a></div><div class="ttdeci">AVISTATUS avi_init(uint8_t *buf, uint16_t size)</div><div class="ttdoc">avi 格式解析</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8c_source.html#l00087">avi_parser.c:87</a></div></div>
<div class="ttc" id="aavi__parser_8c_html_abb25e223e273b349db83310a5d47f80d"><div class="ttname"><a href="avi__parser_8c.html#abb25e223e273b349db83310a5d47f80d">AVI_AUDS_FLAG_TBL</a></div><div class="ttdeci">static const char *const AVI_AUDS_FLAG_TBL[2]</div><div class="ttdoc">音频编码标志字符串,00wb/01wb</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8c_source.html#l00037">avi_parser.c:37</a></div></div>
<div class="ttc" id="aavi__parser_8c_html_afb1c27165f8debcb7125a35d66ffc244"><div class="ttname"><a href="avi__parser_8c.html#afb1c27165f8debcb7125a35d66ffc244">Avix</a></div><div class="ttdeci">AVI_INFO Avix</div><div class="ttdoc">AVI 视频流信息</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8c_source.html#l00034">avi_parser.c:34</a></div></div>
<div class="ttc" id="aavi__parser_8h_html"><div class="ttname"><a href="avi__parser_8h.html">avi_parser.h</a></div><div class="ttdoc">avi 视频格式解析</div></div>
<div class="ttc" id="aavi__parser_8h_html_a03377237c4d57c9cb82cc54ac49c97ce"><div class="ttname"><a href="avi__parser_8h.html#a03377237c4d57c9cb82cc54ac49c97ce">AVI_RIFF_ID</a></div><div class="ttdeci">#define AVI_RIFF_ID</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00026">avi_parser.h:26</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a1de50923fe6815ec8322a8e80901ebd4"><div class="ttname"><a href="avi__parser_8h.html#a1de50923fe6815ec8322a8e80901ebd4">MAKEWORD</a></div><div class="ttdeci">#define MAKEWORD(ptr)</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00046">avi_parser.h:46</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a22a862f67b94bbd8914549bba40d291f"><div class="ttname"><a href="avi__parser_8h.html#a22a862f67b94bbd8914549bba40d291f">AVI_AUDS_FLAG</a></div><div class="ttdeci">#define AVI_AUDS_FLAG</div><div class="ttdoc">音频流标志</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00042">avi_parser.h:42</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a3ece9e152e3d837778a54203fb7477da"><div class="ttname"><a href="avi__parser_8h.html#a3ece9e152e3d837778a54203fb7477da">AVI_VIDS_FLAG</a></div><div class="ttdeci">#define AVI_VIDS_FLAG</div><div class="ttdoc">视频流标志</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00041">avi_parser.h:41</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a43a444b7146af139af25d342748bdd51"><div class="ttname"><a href="avi__parser_8h.html#a43a444b7146af139af25d342748bdd51">AVI_FORMAT_MJPG</a></div><div class="ttdeci">#define AVI_FORMAT_MJPG</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00044">avi_parser.h:44</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a52053b0e37e000392ca2f11dc2b999ab"><div class="ttname"><a href="avi__parser_8h.html#a52053b0e37e000392ca2f11dc2b999ab">MAKEDWORD</a></div><div class="ttdeci">#define MAKEDWORD(ptr)</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00047">avi_parser.h:47</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7">AVISTATUS</a></div><div class="ttdeci">AVISTATUS</div><div class="ttdoc">错误类型</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00052">avi_parser.h:53</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7a49344f7be05e2cc0a057dedc973db30e"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a49344f7be05e2cc0a057dedc973db30e">AVI_FORMAT_ERR</a></div><div class="ttdeci">@ AVI_FORMAT_ERR</div><div class="ttdoc">10,格式错误</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00064">avi_parser.h:64</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7a55b5c2e0d0717e8a2ee2d4d83c04d74e"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a55b5c2e0d0717e8a2ee2d4d83c04d74e">AVI_OK</a></div><div class="ttdeci">@ AVI_OK</div><div class="ttdoc">0,成功</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00054">avi_parser.h:54</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7a58c9bc48cd88d65ef12e52999894282a"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a58c9bc48cd88d65ef12e52999894282a">AVI_AVIH_ERR</a></div><div class="ttdeci">@ AVI_AVIH_ERR</div><div class="ttdoc">5,AVIH ID读取失败</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00059">avi_parser.h:59</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7a7f65ba87da71533d3ba92c01e614a68d"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a7f65ba87da71533d3ba92c01e614a68d">AVI_HDRL_ERR</a></div><div class="ttdeci">@ AVI_HDRL_ERR</div><div class="ttdoc">4,HDRL ID读取失败</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00058">avi_parser.h:58</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7a8cb95e4c0f7849c99391a3265366d380"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a8cb95e4c0f7849c99391a3265366d380">AVI_LIST_ERR</a></div><div class="ttdeci">@ AVI_LIST_ERR</div><div class="ttdoc">3,LIST ID读取失败</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00057">avi_parser.h:57</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7a9902b5dbcd08b2e5e1d5f2b28e7bcc78"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7a9902b5dbcd08b2e5e1d5f2b28e7bcc78">AVI_STRH_ERR</a></div><div class="ttdeci">@ AVI_STRH_ERR</div><div class="ttdoc">7,STRH ID读取失败</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00061">avi_parser.h:61</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7aa32440838bbb44cabe1cb7929465deb9"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7aa32440838bbb44cabe1cb7929465deb9">AVI_STRL_ERR</a></div><div class="ttdeci">@ AVI_STRL_ERR</div><div class="ttdoc">6,STRL ID读取失败</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00060">avi_parser.h:60</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7ab98ace18bf39ea529638552820d5f0a3"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7ab98ace18bf39ea529638552820d5f0a3">AVI_RIFF_ERR</a></div><div class="ttdeci">@ AVI_RIFF_ERR</div><div class="ttdoc">1,RIFF ID读取失败</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00055">avi_parser.h:55</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7abd8fea3fd943c00964f90b652d4a5bd8"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7abd8fea3fd943c00964f90b652d4a5bd8">AVI_STREAM_ERR</a></div><div class="ttdeci">@ AVI_STREAM_ERR</div><div class="ttdoc">11,流错误</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00065">avi_parser.h:65</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7ae7361a4b52200de3bc19d0e9a6e7e813"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7ae7361a4b52200de3bc19d0e9a6e7e813">AVI_MOVI_ERR</a></div><div class="ttdeci">@ AVI_MOVI_ERR</div><div class="ttdoc">9,MOVI ID读取失败</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00063">avi_parser.h:63</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7aef72920fc5a46998843b2bb6db98a950"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7aef72920fc5a46998843b2bb6db98a950">AVI_AVI_ERR</a></div><div class="ttdeci">@ AVI_AVI_ERR</div><div class="ttdoc">2,AVI ID读取失败</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00056">avi_parser.h:56</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a5fb6196ec8881cca7d4205dff28d5bb7af3ad92c668bf1f78d6e19c0bc1fc1a41"><div class="ttname"><a href="avi__parser_8h.html#a5fb6196ec8881cca7d4205dff28d5bb7af3ad92c668bf1f78d6e19c0bc1fc1a41">AVI_STRF_ERR</a></div><div class="ttdeci">@ AVI_STRF_ERR</div><div class="ttdoc">8,STRF ID读取失败</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00062">avi_parser.h:62</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a621ef391c6f5335f7aeb983ee25c5978"><div class="ttname"><a href="avi__parser_8h.html#a621ef391c6f5335f7aeb983ee25c5978">AVI_AVIH_ID</a></div><div class="ttdeci">#define AVI_AVIH_ID</div><div class="ttdoc">avih子块∈AVI_HDRL_ID</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00033">avi_parser.h:33</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a707749dc990c3b7b7bdb691d630fea3d"><div class="ttname"><a href="avi__parser_8h.html#a707749dc990c3b7b7bdb691d630fea3d">AVI_AUDS_STREAM</a></div><div class="ttdeci">#define AVI_AUDS_STREAM</div><div class="ttdoc">音频流</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00039">avi_parser.h:39</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_a9bebb2641290744fd9727680c8deb982"><div class="ttname"><a href="avi__parser_8h.html#a9bebb2641290744fd9727680c8deb982">AVI_LIST_ID</a></div><div class="ttdeci">#define AVI_LIST_ID</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00028">avi_parser.h:28</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_ab996663de5ac6f1ce4148805a5574535"><div class="ttname"><a href="avi__parser_8h.html#ab996663de5ac6f1ce4148805a5574535">AVI_STRH_ID</a></div><div class="ttdeci">#define AVI_STRH_ID</div><div class="ttdoc">strh(流头)子块∈AVI_STRL_ID</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00034">avi_parser.h:34</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_ac8d57ae2af949561024c6fe11ca78652"><div class="ttname"><a href="avi__parser_8h.html#ac8d57ae2af949561024c6fe11ca78652">AVI_AVI_ID</a></div><div class="ttdeci">#define AVI_AVI_ID</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00027">avi_parser.h:27</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_aca2863190319f6384479f9d11c785e6f"><div class="ttname"><a href="avi__parser_8h.html#aca2863190319f6384479f9d11c785e6f">AVI_HDRL_ID</a></div><div class="ttdeci">#define AVI_HDRL_ID</div><div class="ttdoc">信息块标志</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00029">avi_parser.h:29</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_acac014172ff77494de8996743f4f10a2"><div class="ttname"><a href="avi__parser_8h.html#acac014172ff77494de8996743f4f10a2">AVI_VIDS_STREAM</a></div><div class="ttdeci">#define AVI_VIDS_STREAM</div><div class="ttdoc">视频流</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00038">avi_parser.h:38</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_aeb199d3056da792070cefc8f90960ef7"><div class="ttname"><a href="avi__parser_8h.html#aeb199d3056da792070cefc8f90960ef7">AVI_STRL_ID</a></div><div class="ttdeci">#define AVI_STRL_ID</div><div class="ttdoc">strl标志</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00031">avi_parser.h:31</a></div></div>
<div class="ttc" id="aavi__parser_8h_html_afb9f262e20bc4f8acce7e9b1dc156a0d"><div class="ttname"><a href="avi__parser_8h.html#afb9f262e20bc4f8acce7e9b1dc156a0d">AVI_STRF_ID</a></div><div class="ttdeci">#define AVI_STRF_ID</div><div class="ttdoc">strf(流格式)子块∈AVI_STRL_ID</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00035">avi_parser.h:35</a></div></div>
<div class="ttc" id="astruct_a_v_i___h_e_a_d_e_r_html"><div class="ttname"><a href="struct_a_v_i___h_e_a_d_e_r.html">AVI_HEADER</a></div><div class="ttdoc">AVI 块信息</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00111">avi_parser.h:112</a></div></div>
<div class="ttc" id="astruct_a_v_i___h_e_a_d_e_r_html_a0652c50e805596466f1e36f9ef24c960"><div class="ttname"><a href="struct_a_v_i___h_e_a_d_e_r.html#a0652c50e805596466f1e36f9ef24c960">AVI_HEADER::RiffID</a></div><div class="ttdeci">uint32_t RiffID</div><div class="ttdoc">RiffID=='RIFF'==0X61766968</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00113">avi_parser.h:113</a></div></div>
<div class="ttc" id="astruct_a_v_i___h_e_a_d_e_r_html_ac92964a8773c7646c9b78b799b02bb40"><div class="ttname"><a href="struct_a_v_i___h_e_a_d_e_r.html#ac92964a8773c7646c9b78b799b02bb40">AVI_HEADER::AviID</a></div><div class="ttdeci">uint32_t AviID</div><div class="ttdoc">AviID=='AVI '==0X41564920</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00115">avi_parser.h:115</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html">AVI_INFO</a></div><div class="ttdoc">AVI 信息结构体(将一些重要的数据,存放在这里,方便解码)</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00069">avi_parser.h:70</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html_a0250988b2bc4338b03052d3915a24117"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html#a0250988b2bc4338b03052d3915a24117">AVI_INFO::AudioType</a></div><div class="ttdeci">uint16_t AudioType</div><div class="ttdoc">音频类型:0X0001=PCM;0X0050=MP2;0X0055=MP3;0X2000=AC3;</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00078">avi_parser.h:78</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html_a0e6885847acfb5c3a504bb0b4cadafd3"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html#a0e6885847acfb5c3a504bb0b4cadafd3">AVI_INFO::TotalFrame</a></div><div class="ttdeci">uint32_t TotalFrame</div><div class="ttdoc">/&lt; 文件总帧数</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00072">avi_parser.h:72</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html_a36fdfaa783fd17a3625eef91a8e35558"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html#a36fdfaa783fd17a3625eef91a8e35558">AVI_INFO::AudioFLAG</a></div><div class="ttdeci">char * AudioFLAG</div><div class="ttdoc">音频帧标记,AudioFLAG=&quot;00wb&quot;/&quot;01wb&quot;</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00082">avi_parser.h:82</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html_a3bdc883455d9732f65c9d4cb1aebe28b"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html#a3bdc883455d9732f65c9d4cb1aebe28b">AVI_INFO::Height</a></div><div class="ttdeci">uint32_t Height</div><div class="ttdoc">图像高</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00074">avi_parser.h:74</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html_a780dbba77a0f21fe07b1facf6aba3dd3"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html#a780dbba77a0f21fe07b1facf6aba3dd3">AVI_INFO::SecPerFrame</a></div><div class="ttdeci">uint32_t SecPerFrame</div><div class="ttdoc">视频帧间隔时间(单位为us)</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00071">avi_parser.h:71</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html_a7d5b4376ce52d2b78237faed43bc46cd"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html#a7d5b4376ce52d2b78237faed43bc46cd">AVI_INFO::Channels</a></div><div class="ttdeci">uint16_t Channels</div><div class="ttdoc">声道数,一般为2,表示立体声</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00076">avi_parser.h:76</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html_a930ec675cfdc1a0f18f3414583f7b950"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html#a930ec675cfdc1a0f18f3414583f7b950">AVI_INFO::SampleRate</a></div><div class="ttdeci">uint32_t SampleRate</div><div class="ttdoc">音频采样率</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00075">avi_parser.h:75</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html_accb228e257848ce45178ee201dc5a380"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html#accb228e257848ce45178ee201dc5a380">AVI_INFO::VideoFLAG</a></div><div class="ttdeci">char * VideoFLAG</div><div class="ttdoc">视频帧标记,VideoFLAG=&quot;00dc&quot;/&quot;01dc&quot;</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00081">avi_parser.h:81</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html_ad672690f555bb08866a491753109e551"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html#ad672690f555bb08866a491753109e551">AVI_INFO::Width</a></div><div class="ttdeci">uint32_t Width</div><div class="ttdoc">图像宽</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00073">avi_parser.h:73</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html_ae256ff66a407ed8f0a929b4159c91871"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html#ae256ff66a407ed8f0a929b4159c91871">AVI_INFO::AudioBufSize</a></div><div class="ttdeci">uint16_t AudioBufSize</div><div class="ttdoc">音频缓冲区大小</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00077">avi_parser.h:77</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html_ae9f33841c7538c99150077f9c04d7070"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html#ae9f33841c7538c99150077f9c04d7070">AVI_INFO::StreamSize</a></div><div class="ttdeci">uint32_t StreamSize</div><div class="ttdoc">流大小,必须是偶数,如果读取到为奇数,则加1.</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00080">avi_parser.h:80</a></div></div>
<div class="ttc" id="astruct_a_v_i___i_n_f_o_html_aebe839b9a64cd04e96f275be975f3661"><div class="ttname"><a href="struct_a_v_i___i_n_f_o.html#aebe839b9a64cd04e96f275be975f3661">AVI_INFO::StreamID</a></div><div class="ttdeci">uint16_t StreamID</div><div class="ttdoc">流类型ID,StreamID=='dc'==0X6463 /StreamID=='wb'==0X7762</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00079">avi_parser.h:79</a></div></div>
<div class="ttc" id="astruct_a_v_i_h___h_e_a_d_e_r_html"><div class="ttname"><a href="struct_a_v_i_h___h_e_a_d_e_r.html">AVIH_HEADER</a></div><div class="ttdoc">avih 子块信息</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00127">avi_parser.h:128</a></div></div>
<div class="ttc" id="astruct_a_v_i_h___h_e_a_d_e_r_html_a0e6885847acfb5c3a504bb0b4cadafd3"><div class="ttname"><a href="struct_a_v_i_h___h_e_a_d_e_r.html#a0e6885847acfb5c3a504bb0b4cadafd3">AVIH_HEADER::TotalFrame</a></div><div class="ttdeci">uint32_t TotalFrame</div><div class="ttdoc">文件总帧数</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00135">avi_parser.h:135</a></div></div>
<div class="ttc" id="astruct_a_v_i_h___h_e_a_d_e_r_html_a1240479dc9b05a8691eb36d81ef35a4e"><div class="ttname"><a href="struct_a_v_i_h___h_e_a_d_e_r.html#a1240479dc9b05a8691eb36d81ef35a4e">AVIH_HEADER::BlockID</a></div><div class="ttdeci">uint32_t BlockID</div><div class="ttdoc">块标志:avih==0X61766968</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00129">avi_parser.h:129</a></div></div>
<div class="ttc" id="astruct_a_v_i_h___h_e_a_d_e_r_html_a780dbba77a0f21fe07b1facf6aba3dd3"><div class="ttname"><a href="struct_a_v_i_h___h_e_a_d_e_r.html#a780dbba77a0f21fe07b1facf6aba3dd3">AVIH_HEADER::SecPerFrame</a></div><div class="ttdeci">uint32_t SecPerFrame</div><div class="ttdoc">视频帧间隔时间(单位为us)</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00131">avi_parser.h:131</a></div></div>
<div class="ttc" id="astruct_a_v_i_h___h_e_a_d_e_r_html_ab733a42cbc069f09f55bfa7bdc166755"><div class="ttname"><a href="struct_a_v_i_h___h_e_a_d_e_r.html#ab733a42cbc069f09f55bfa7bdc166755">AVIH_HEADER::BlockSize</a></div><div class="ttdeci">uint32_t BlockSize</div><div class="ttdoc">块大小(不包含最初的8字节,也就是BlockID和BlockSize不计算在内)</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00130">avi_parser.h:130</a></div></div>
<div class="ttc" id="astruct_b_m_p___h_e_a_d_e_r_html_a20c0d8eeeb1a2c61f0986a1c627c769a"><div class="ttname"><a href="struct_b_m_p___h_e_a_d_e_r.html#a20c0d8eeeb1a2c61f0986a1c627c769a">BMP_HEADER::Width</a></div><div class="ttdeci">long Width</div><div class="ttdoc">图像宽</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00089">avi_parser.h:89</a></div></div>
<div class="ttc" id="astruct_b_m_p___h_e_a_d_e_r_html_ad2cadc2fd0a4d69238fd32b34106373a"><div class="ttname"><a href="struct_b_m_p___h_e_a_d_e_r.html#ad2cadc2fd0a4d69238fd32b34106373a">BMP_HEADER::Compression</a></div><div class="ttdeci">uint32_t Compression</div><div class="ttdoc">压缩类型，比如:MJPG/H264等</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00093">avi_parser.h:93</a></div></div>
<div class="ttc" id="astruct_b_m_p___h_e_a_d_e_r_html_ae419f6e85ca63aca1b00db3e46953e83"><div class="ttname"><a href="struct_b_m_p___h_e_a_d_e_r.html#ae419f6e85ca63aca1b00db3e46953e83">BMP_HEADER::Height</a></div><div class="ttdeci">long Height</div><div class="ttdoc">图像高</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00090">avi_parser.h:90</a></div></div>
<div class="ttc" id="astruct_l_i_s_t___h_e_a_d_e_r_html"><div class="ttname"><a href="struct_l_i_s_t___h_e_a_d_e_r.html">LIST_HEADER</a></div><div class="ttdoc">LIST 块信息</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00119">avi_parser.h:120</a></div></div>
<div class="ttc" id="astruct_l_i_s_t___h_e_a_d_e_r_html_aa83585d48dd4177425dd696489928781"><div class="ttname"><a href="struct_l_i_s_t___h_e_a_d_e_r.html#aa83585d48dd4177425dd696489928781">LIST_HEADER::ListID</a></div><div class="ttdeci">uint32_t ListID</div><div class="ttdoc">ListID=='LIST'==0X4c495354</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00121">avi_parser.h:121</a></div></div>
<div class="ttc" id="astruct_l_i_s_t___h_e_a_d_e_r_html_ab733a42cbc069f09f55bfa7bdc166755"><div class="ttname"><a href="struct_l_i_s_t___h_e_a_d_e_r.html#ab733a42cbc069f09f55bfa7bdc166755">LIST_HEADER::BlockSize</a></div><div class="ttdeci">uint32_t BlockSize</div><div class="ttdoc">块大小(不包含最初的8字节,也ListID和BlockSize不计算在内)</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00122">avi_parser.h:122</a></div></div>
<div class="ttc" id="astruct_l_i_s_t___h_e_a_d_e_r_html_ac7136be487ab4400b532b831a2784354"><div class="ttname"><a href="struct_l_i_s_t___h_e_a_d_e_r.html#ac7136be487ab4400b532b831a2784354">LIST_HEADER::ListType</a></div><div class="ttdeci">uint32_t ListType</div><div class="ttdoc">LIST子块类型:hdrl(信息块)/movi(数据块)/idxl(索引块,非必须,是可选的)</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00123">avi_parser.h:123</a></div></div>
<div class="ttc" id="astruct_s_t_r_f___b_m_p_h_e_a_d_e_r_html"><div class="ttname"><a href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html">STRF_BMPHEADER</a></div><div class="ttdoc">对于strh,如果是视频流,strf(流格式)使STRH_BMPHEADER块</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00172">avi_parser.h:173</a></div></div>
<div class="ttc" id="astruct_s_t_r_f___b_m_p_h_e_a_d_e_r_html_a1240479dc9b05a8691eb36d81ef35a4e"><div class="ttname"><a href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html#a1240479dc9b05a8691eb36d81ef35a4e">STRF_BMPHEADER::BlockID</a></div><div class="ttdeci">uint32_t BlockID</div><div class="ttdoc">块标志,strf==0X73747266</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00174">avi_parser.h:174</a></div></div>
<div class="ttc" id="astruct_s_t_r_f___b_m_p_h_e_a_d_e_r_html_a21ca218fc09b3dab8feb982e12b17f18"><div class="ttname"><a href="struct_s_t_r_f___b_m_p_h_e_a_d_e_r.html#a21ca218fc09b3dab8feb982e12b17f18">STRF_BMPHEADER::bmiHeader</a></div><div class="ttdeci">BMP_HEADER bmiHeader</div><div class="ttdoc">位图信息头</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00176">avi_parser.h:176</a></div></div>
<div class="ttc" id="astruct_s_t_r_f___w_a_v_h_e_a_d_e_r_html"><div class="ttname"><a href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html">STRF_WAVHEADER</a></div><div class="ttdoc">对于strh,如果是音频流,strf(流格式)使STRH_WAVHEADER块</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00181">avi_parser.h:182</a></div></div>
<div class="ttc" id="astruct_s_t_r_f___w_a_v_h_e_a_d_e_r_html_a1240479dc9b05a8691eb36d81ef35a4e"><div class="ttname"><a href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html#a1240479dc9b05a8691eb36d81ef35a4e">STRF_WAVHEADER::BlockID</a></div><div class="ttdeci">uint32_t BlockID</div><div class="ttdoc">块标志,strf==0X73747266</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00183">avi_parser.h:183</a></div></div>
<div class="ttc" id="astruct_s_t_r_f___w_a_v_h_e_a_d_e_r_html_a7d5b4376ce52d2b78237faed43bc46cd"><div class="ttname"><a href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html#a7d5b4376ce52d2b78237faed43bc46cd">STRF_WAVHEADER::Channels</a></div><div class="ttdeci">uint16_t Channels</div><div class="ttdoc">声道数,一般为2,表示立体声</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00186">avi_parser.h:186</a></div></div>
<div class="ttc" id="astruct_s_t_r_f___w_a_v_h_e_a_d_e_r_html_a93061b5a945d27bd1756008e813db76a"><div class="ttname"><a href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html#a93061b5a945d27bd1756008e813db76a">STRF_WAVHEADER::FormatTag</a></div><div class="ttdeci">uint16_t FormatTag</div><div class="ttdoc">格式标志:0X0001=PCM,0X0055=MP3...</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00185">avi_parser.h:185</a></div></div>
<div class="ttc" id="astruct_s_t_r_f___w_a_v_h_e_a_d_e_r_html_a930ec675cfdc1a0f18f3414583f7b950"><div class="ttname"><a href="struct_s_t_r_f___w_a_v_h_e_a_d_e_r.html#a930ec675cfdc1a0f18f3414583f7b950">STRF_WAVHEADER::SampleRate</a></div><div class="ttdeci">uint32_t SampleRate</div><div class="ttdoc">音频采样率</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00187">avi_parser.h:187</a></div></div>
<div class="ttc" id="astruct_s_t_r_h___h_e_a_d_e_r_html"><div class="ttname"><a href="struct_s_t_r_h___h_e_a_d_e_r.html">STRH_HEADER</a></div><div class="ttdoc">strh 流头子块信息(strh∈strl)</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00145">avi_parser.h:146</a></div></div>
<div class="ttc" id="astruct_s_t_r_h___h_e_a_d_e_r_html_a1240479dc9b05a8691eb36d81ef35a4e"><div class="ttname"><a href="struct_s_t_r_h___h_e_a_d_e_r.html#a1240479dc9b05a8691eb36d81ef35a4e">STRH_HEADER::BlockID</a></div><div class="ttdeci">uint32_t BlockID</div><div class="ttdoc">块标志:strh==0X73747268</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00147">avi_parser.h:147</a></div></div>
<div class="ttc" id="astruct_s_t_r_h___h_e_a_d_e_r_html_a9bef5b1d758fa5082548fb2a13880bcd"><div class="ttname"><a href="struct_s_t_r_h___h_e_a_d_e_r.html#a9bef5b1d758fa5082548fb2a13880bcd">STRH_HEADER::Handler</a></div><div class="ttdeci">uint32_t Handler</div><div class="ttdoc">指定流的处理者，对于音视频来说就是解码器,比如MJPG/H264之类的.</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00150">avi_parser.h:150</a></div></div>
<div class="ttc" id="astruct_s_t_r_h___h_e_a_d_e_r_html_ab733a42cbc069f09f55bfa7bdc166755"><div class="ttname"><a href="struct_s_t_r_h___h_e_a_d_e_r.html#ab733a42cbc069f09f55bfa7bdc166755">STRH_HEADER::BlockSize</a></div><div class="ttdeci">uint32_t BlockSize</div><div class="ttdoc">块大小(不包含最初的8字节,也就是BlockID和BlockSize不计算在内)</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00148">avi_parser.h:148</a></div></div>
<div class="ttc" id="astruct_s_t_r_h___h_e_a_d_e_r_html_afc9042f7f6ed151075edacec2979c47d"><div class="ttname"><a href="struct_s_t_r_h___h_e_a_d_e_r.html#afc9042f7f6ed151075edacec2979c47d">STRH_HEADER::StreamType</a></div><div class="ttdeci">uint32_t StreamType</div><div class="ttdoc">数据流种类，vids(0X73646976):视频;auds(0X73647561):音频</div><div class="ttdef"><b>Definition:</b> <a href="avi__parser_8h_source.html#l00149">avi_parser.h:149</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
</small></address>
</body>
</html>
